在團隊開發中,經常會遇到這樣的情況:當你在某個分支上進行開發並準備推送(push)你的 commit 時,發現同一分支上已經有其他人的 commit 被推送上去了。在這種情況下,你無法直接推送自己的 commit,因為會產生衝突。此時有兩種常見的解決方法:Merge 和 Rebase,這兩者都可以用來整合你和其他人所做的程式變更。
Merge 是將另一個分支的變更合併到你當前的分支。Merge 會保留兩個分支的歷史紀錄,並且會產生一個新的 commit,記錄此次合併過程。
會重新改變本地 Commit 點的基準點,變成以遠端最新的異動點為基準,本地 Commit 會變成最新異動點的下一個點,也就相當於整合自己與他人的程式。